Conditional statements perform different computations or actions depending on whether one or more conditions were fulfilled or not. Typically, such a conditional statement is achieved by selectively altering a control flow of a program.
Modern integrated circuits execute conditional statements by various manners, including but not limited to using dedicated predicates. For example, registers can be directly be used as predicates. A direct usage of registers as predicates includes allocating a dedicated field in an instruction for selecting one register out of a group of registers that can act as predicates. This group of registers includes few register because the allocation of such a dedicated field within an instruction is very costly in encoding space.
Another manner for executing conditional statements includes allocating one or more bits of a status register as a conditional flag (also known as a true flag) that indicates whether a condition has been fulfilled or not. Some integrated circuits include a single true flag. The usage of such flags is also very costly in encoding space.
The increasing complexity of modern software increases the number of conditional statements and their complexity and elevated the importance of the efficient execution of these conditional statements.